home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / modula2 / module / bliste.def < prev    next >
Text File  |  1995-11-25  |  3KB  |  66 lines

  1. (******************************************************************************)
  2. (*      This MODULE is Public Domain. Copy me like a beast!                   *)
  3. (*               Christian Ledermann                                          *)
  4. (*               Wölfelkofen 2                                                *)
  5. (*               84166 Adlkofen                                               *)
  6. (******************************************************************************)
  7. (*                                                                            *)
  8. (* Started:   20.12.92     03:54:30                                           *)
  9. (* Version:   20.01.94     04:12:54                                           *)
  10. (*                                                                            *)
  11. (******************************************************************************)
  12. (*                                                                            *)
  13. (* Diese Software ist ohne jede Garantie. Ich verspreche                      *)
  14. (* keinerlei Wartung und übernehme keine Verantwortung für Schäden die        *)
  15. (* durch die Benutzung dieses Programmes entstehen.                           *)
  16. (* Jegliche Ersatzansprüche lehne ich ab.                                     *)
  17. (*                                                                            *)
  18. (******************************************************************************)
  19. DEFINITION MODULE BListe;
  20. (* Entnommen ST-Computer 10/89*)
  21. TYPE List;
  22. TYPE STRING15=ARRAY [0..15] OF CHAR;
  23.  
  24. TYPE Kunde = RECORD
  25.                Name       :STRING15;
  26.                Uebertrag  :LONGINT;
  27.                Biere,Limos:INTEGER;
  28.                Rechnung   :LONGINT;
  29.                BiereIsg,
  30.                LimosIsg   :INTEGER;
  31.                Umsatz     :LONGINT;
  32.              END(*RECORD*);
  33. VglProc  = PROCEDURE (Kunde, Kunde):BOOLEAN;
  34.  
  35.  
  36. PROCEDURE MakeList(VAR L:List);
  37. PROCEDURE KillList(VAR L:List);
  38. PROCEDURE First(VAR L:List);
  39. PROCEDURE Last(VAR L:List);
  40. PROCEDURE Next(VAR L:List);
  41. PROCEDURE Prev(VAR L:List);
  42. PROCEDURE Empty(VAR L:List):BOOLEAN;
  43. PROCEDURE AtFirst(VAR L:List):BOOLEAN;
  44. PROCEDURE AtLast(VAR L:List):BOOLEAN;
  45. PROCEDURE Find(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc;
  46.                      Key:Kunde ):BOOLEAN;
  47. (* Vgl Proc liefert TRUE für Value1=Value2 *)
  48.  
  49. PROCEDURE FindFirst(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc;
  50.                      Key:Kunde):BOOLEAN;
  51. (* Vgl Proc liefert TRUE für Value1=Value2 *)
  52.  
  53. PROCEDURE FindNext(VAR L:List;VAR Value:Kunde; VAR Finde:VglProc;
  54.                      Key:Kunde):BOOLEAN;
  55. (* Vgl Proc liefert TRUE für Value1=Value2 *)
  56.  
  57. PROCEDURE BubbleSort(VAR L:List;VAR Vgl:VglProc);
  58. (* Vgl Proc liefert TRUE für Value1>Value2 *)
  59.  
  60. PROCEDURE GetValue(VAR L:List; VAR Value:Kunde):BOOLEAN;
  61. PROCEDURE SetValue(VAR L:List; Value:Kunde);
  62. PROCEDURE EnterElement(VAR L:List);
  63. PROCEDURE AppendElement(VAR L:List);
  64. PROCEDURE RemoveElement(VAR L:List);
  65. END BListe.
  66.